/************************************************************************/
/*Copyright (c) James Zhao 2007,2008
/*This file is part of AdminOverlay.
/*AdminOverlay is free software: you can redistribute it and/or modify
/*it under the terms of the GNU General Public License as published by
/*the Free Software Foundation, either version 3 of the License, or
/*(at your option) any later version.
/*
/*AdminOverlay is distributed in the hope that it will be useful,
/*but WITHOUT ANY WARRANTY; without even the implied warranty of
/*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
/*GNU General Public License for more details.
/*
/*You should have received a copy of the GNU General Public License
/*along with Foobar.  If not, see <http://www.gnu.org/licenses/>.                                                                     */
/*************************************************************************/
#pragma once
#include <QtCore/QtCore>

#include "uipanel.h"
#include "TabItem.h"

class EXPORT_UIKIT  ListPanel :
	public UIPanel
{
	Q_OBJECT
public:
	ListPanel(int x, int y, int width, int height);
	~ListPanel(void);
	void addItem(ListItem *item);
	void onSelectItem(int index);
	void onItemExecute(int index);
	//void onKeyPress(int keyCode, bool isCtrlDown);
public slots:
	void onKeyDown(int keyCode);
signals:
	void selectedItemChanged(int index);
	//usually it's the enter / -> key
	void itemExecuted(int index);
public:
	void draw(LPDIRECT3DDEVICE9 device);
	void layout(QPoint offset);
	void onDeviceReset();
protected:
	QVector<ListItem*> itemsVector;
	int selectedIndex;
};